package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @desc QueryEvaObjTargetCycleReportDetailRespDto
 * @使用场景
 */
@Data
public class QueryEvaObjTargetCycleReportDetailRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 被评对象目标周期ID
   */
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 被评对象目标周期标识
   */
  @ApiModelProperty("被评对象目标周期标识")
  private String evaObjTargetCycleCode;

  /**
   * 上级被评对象目标周期标识
   */
  @ApiModelProperty("上级被评对象目标周期标识")
  private String parentEvaObjTargetCycleId;

  /**
   * 被评对象内容表主键ID
   */
  @ApiModelProperty("被评对象内容表主键ID")
  private String evaObjEntityId;

  /**
   * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @ApiModelProperty("被评对象类型编码")
  private String evaObjTypeCode;

  /**
   * 关联目标内容ID
   */
  @ApiModelProperty("关联目标内容ID")
  private String targetCycleContentId;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @ApiModelProperty("关联目标内容类型编码")
  private String targetCycleContentTypeCode;

  /**
   * 父子中传值分析的子周期周期ID
   */
  @ApiModelProperty("父子中传值分析的子周期周期ID")
  private String subCycleId;

  /**
   * 是否父周期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否父周期")
  private String isParentCycle;

  /**
   * 是否中期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否中期")
  private String isMetaphase;

  /**
   * 是否子周期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否子周期")
  private String isSubCycle;

  /**
   * 工作周期是否同体（父子） TRUE:是 FALSE:否
   */
  @ApiModelProperty("工作周期是否同体（父子）")
  private String workCycleIsSame;

  /**
   * 周期名称
   */
  @ApiModelProperty("执行周期周期名称")
  private String cycleStandardName;

  /**
   * 周期类型实例简称
   */
  @ApiModelProperty("执行周期周期类型实例简称")
  private String cycleNumberShortName;

  /**
   * 周期ID
   */
  @ApiModelProperty("目标周期周期ID")
  private String cycleId;

  /**
   * 目标周期名称
   */
  @ApiModelProperty("目标周期名称")
  private String targetCycleName;

  /**
   * 目标周期简称
   */
  @ApiModelProperty("目标周期简称")
  private String cyclelAlias;

  /**
   * 目标计划结束时间
   */
  @ApiModelProperty("目标计划结束时间")
  private Date cycleEndTime;

  /**
   * 成果汇报结束时间
   */
  @ApiModelProperty("成果汇报结束时间")
  private Date targetActualEndtTime;

  /**
   * 汇报通过时间
   */
  @ApiModelProperty("汇报通过时间")
  private Date reportUpdateTime;

  /**
   * 虚拟组织成员就职记录ID
   */
  @ApiModelProperty("负责人就职记录ID")
  private String virtualOrgInductionRecordId;

  /**
   * 个人账号
   */
  @ApiModelProperty("负责人个人账号ID")
  private String userId;

  /**
   * 组内职务名称
   */
  @ApiModelProperty("负责人职务名称")
  private String virtualOrganizationPosition;

  /**
   * 虚拟组织下部门ID
   */
  @ApiModelProperty("牵头部门ID")
  private String deptId;

  /**
   * 组织内部门身份名称
   */
  @ApiModelProperty("牵头部门身份名称")
  private String virtualOrgDeptStatus;

  /**
   * 目标达成情况
   */
  @ApiModelProperty("目标达成情况")
  private String targetReached;

  /**
   * 权重
   */
  @ApiModelProperty("权重")
  private Double weightValue;

  /**
   * 权重分值
   */
  @ApiModelProperty("权重分值")
  private Double weightScore;

  /**
   * 总时长
   */
  @ApiModelProperty("总时长")
  private Long totalLength;

  /**
   * 剩余天数
   */
  @ApiModelProperty("剩余天数")
  private Long delaySurplusLength;

  /**
   * 完成偏离时长
   */
  @ApiModelProperty("完成偏离时长")
  private Long deviateLength;

  /**
   * 展示目标值
   */
  @ApiModelProperty("展示目标值")
  private Double showTargetValue;

  /**
   * 诊断值
   */
  @ApiModelProperty("诊断值")
  private Double targetDiagnosticValue;

  /**
   * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @ApiModelProperty("冗余指标业务类型")
  private String targetValueType;

  /**
   * 冗余单位
   */
  @ApiModelProperty("冗余单位")
  private String unit;

  /**
   * 实际值（数值）
   */
  @ApiModelProperty("实际值（数值）")
  private Double actualValue;

  /**
   * 实际值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("实际值单位")
  private String actualValueUnit;

  /**
   * 较上次目标变化值
   */
  @ApiModelProperty("较上次目标变化值")
  private Double changeFromLastTarget;

  /**
   * 较上次目标变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("较上次目标变化值单位")
  private String changeFromLastTargetUnit;

  /**
   * 较上次目标增降幅
   */
  @ApiModelProperty("较上次目标增降幅")
  private Double fromLastTargetLiftRatio;

  /**
   * 较上次目标增降幅单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("较上次目标增降幅单位")
  private String fromLastTargetLiftRatioUnit;

  /**
   * 进度值（数值）
   */
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 进度值单位
   */
  @ApiModelProperty("进度值单位")
  private String progressValueUnit;

  /**
   * 进度较上次变化值
   */
  @ApiModelProperty("进度较上次变化值")
  private Double fromLastProgressValue;

  /**
   * 进度较上次变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("进度较上次变化值单位")
  private String fromLastProgressValueUnit;

  /**
   * 进度较上次增降幅
   */
  @ApiModelProperty("进度较上次增降幅")
  private Double progressFromLastRatio;

  /**
   * 进度较上次增降幅单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("进度较上次增降幅单位")
  private String progressFromLastRatioUnit;

  /**
   * 达成度
   */
  @ApiModelProperty("达成度")
  private Double reach;

  /**
   * 达成度单位
   */
  @ApiModelProperty("达成度单位")
  private String reachUnit;

  /**
   * 达成度较上次变化值
   */
  @ApiModelProperty("达成度较上次变化值")
  private Double fromLastReach;

  /**
   * 达成度较上次变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("达成度较上次变化值单位")
  private String fromLastReachUnit;

  /**
   * 达成度较上次增降幅
   */
  @ApiModelProperty("达成度较上次增降幅")
  private Double actualFromLastTimeRatio;

  /**
   * 达成度较上次增降福单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("达成度较上次增降福单位")
  private String actualFromLastTimeRatioUnit;

  /**
   * 汇报得分（文本）
   */
  @ApiModelProperty("汇报得分（文本）")
  private String reportScore;

  /**
   * 汇报得分单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("汇报得分单位")
  private String reportScoreUnit;

  /**
   * 汇报得分较上次增降幅（数值）
   */
  @ApiModelProperty("汇报得分较上次增降幅（数值）")
  private Double fromLastRatioReportScore;

  /**
   * 汇报得分较上次增降幅单位
   */
  @ApiModelProperty("汇报得分较上次增降幅单位")
  private String fromLastRatioReportScoreUnit;

  /**
   * 实际得分等级
   */
  @ApiModelProperty("实际得分等级")
  private String realTimeScoreLevel;

  /**
   * 进度指标是否允许重复安排
   */
  @ApiModelProperty("进度指标是否允许重复安排")
  private String progressObjIsRedoArrange;

}
